DEVICE HMI2

0.1 Introduction

HMI2 is a device designed to perform the functions of an interface between the user, a display up to 32 digit, leds (up to 32) and a keyboard (up to 32 keys). Manage 3 recursive contemporary views configurable each with its own number of characters, decimal point and position within the display. It also has the capability of data entry (introduction of a data via the keyboard) fully configurable than the number of characters, at the location and decimal digits with the ability to control the upper and lower limits of the data introduced.

0.2 Device declaration

The device declaration mode in the configuration unit is:

;----------------------------------------
; Internal device declarations
;----------------------------------------
<device_name>   HMI2	TCamp

Where:

<device_name>the name assigned to the device
HMI2keyword that identifies the device
TCampsample time device (3÷250 ms)
:important:Attenzione: È necessario che tutte le voci di definizione siano presenti sulla stessa linea

0.3 Operation

We analyze in more detail the characteristics of the HMI2 device.

0.3.1 The display

The display consists of a series of digits (characters) variables depending on the hardware platform of microQMove that you are using. For example, in a display digits D221 or D983 are 7, While the D231 digits arrive to 11.

The pictures are presented only as an example because the HMI2 device has an independent operation by the instrument that you are using.

0.3.2 Recursive views

For recursive view is a view that is updated continuously, more precisely at each sampling time of the device. With the HMI2 You can enable up to 3 of these, independent and positioned at within the display.
Depending on the number of characters that you configured the display, the display area is used by the view itself so that in that area can no longer write the characters because they would be immediately overwritten.

In the picture there is an example of how you might configure the views to your liking. In this case there are 2 views of 2 characters and the other of a recursive 3 characters placed respectively at position 8 and position 0. Recursive display from 3 characters also has the number of decimal places set to 1. In display not occupied by recursive views you can set the characters (numbers or letters) so that they are showed; You cannot set characters on display at locations 0,1,2 and 8,9 Because views to overwrite them recursive.
For each recursive display the maximum and minimum values that can be showed depends as mentioned by number of digits and the sign enable. If the data to be displayed is less than the minimum or greater than this maximum value, the display will shows the out of range characters.

0.3.3 Data entry

Data entry functionality allows the user to enter a numeric value from the keyboard as it can configure the number of characters entered, the position on the display, the position of the decimal point. You can also exit the data entry with a button at will, or with special commands. A particular parameter to bit field allows you to enable control of the value of the data introduced in the upper and lower limits (set using the appropriate parameters), to enable the introduction of signed or unsigned data, and other features of tables description parameters and commands. This configurability allows through a few instructions of Qcl language to meet the various needs of human-machine interface.

0.3.4 Keyboard functionality in data entry

We will now detail the instructions in order to introduce keyboard data specifying the key functions. The HMI2 device provides the user with two ways to insert data, the standards and how they increase/decrease.

0.3.4.1 Standard mode

The table summarizes the functions of each key:

KeyFunctionality
ENTER keyConfirmation of the introduced data: bounds checking of the datas in introduction (If enabled with the appropriate bits of the deflags parameter), copy the input value to the devalue parameter and produces the output from the insert data function.
CLEAR keyDelete/restore of data: execute alternately zeroing data in introduction, and restoration of its initial value.
PLUS keyIncreases selected digit: execute the increase of the selected number.
MINUS keySelection digit: moves the selection of the digit on the right than the one selected.

0.3.4.2 Increase/decrease mode

The table summarizes the functions of each key:

KeyFunctionality
ENTER keyConfirmation of the introduced data: execute the bounds checking of the data in introduction (if enabled with the appropriate bits of the deflags parameter), copy the input value to the devalue parameter and produces the output from the function to insert data.
CLEAR keyDelete/restore of data: execute alternately zeroing introduction data, and the restoration of its initial value.
PLUS keyIncrease value in introduction: execute the increase in introduction. While pressing the button, the growth is continuous and with speed which exponentially increases.
MINUS keyDecrease value in introduction: execute the decrease in value in introduction. While pressing the button, the decrease is continuous and with speed which exponentially increases.

When the zero bits of the deflags parameter is 0 the DATAENTRY functionality can be used for a easy view. This feature can be handy when the figure has a static value and therefore do not need to use recursive views. For example, if you need to display an error message and the error code itself for some time, the function that displays such a message can be achieved without having to alter the programming of recursive views.

This section shows the bit assignments of variables in charge in addition to the keys and leds on the various hardware MicroQmove.

0.3.5.1 Keyboard, display and leds for D221 series

In summary:

KeyValue key parameter
ENTER key1
CLEAR key8
PLUS key4
MINUS key32
F key16
F + CLEAR keys24

Offset value in relation with the digit

Name of dis0…31 parameters in relation to the digit

0.3.5.2 Keyboard, display and leds for D231 series

In summary:

KeyValue of key parameter parametro key
ENTER key1
CLEAR key8
PLUS key4
MINUS key32
F key16
F + CLEAR keys24

0.3.6 Values of the dis0÷31 variables

In this section shows the codes to use for viewing the and special characters. This codes must be used for the dis0÷31 parameters.

ValueCharacterValueCharacterValueCharacterValueCharacter
0014E28J42~
1115F29c43M
2216G30h44&
3317H31!45[
4418I32@46]
5519L33-47;
6620n34u48,
7721o35 49:
8822P36_50.
9923Q37=518.
10a24r38$
11b25t39*
12c26U40^
13d27Y41%
:info:

0.4 Tabella parametri

NomeDimensioneValore di defaultTipo di accessoUnità di misuraRange validoCondizioni di scritturaDescrizione
keyLong-R---Stato dei tasti
È un parametro a campo di bit ognuno dei quali rappresenta lo stato dei tasti. Per l'associazione dei bit ai tasti fare riferimento alle appendici.
ledsLong0RW---Stato dei led
È un parametro a campo di bit ognuno dei quali rappresenta lo stato dei led. Modificandone il valore è possibile accendere o spegnere ciascun led; per l'associazione dei bit ai leds fare riferimento alle appendici.
blinkledsLong0RW---Stato dei led
Rappresenta in ogni istante lo stato del blink nel led tastiera. Questa variabile può essere modificata anche da device quando vengono eseguite operazioni nella tastiera. La mappatura dei bit rispecchia quella del parametro leds. Perché un led lampeggi esso deve comunque essere attivato dall'apposito bit della variabile leds.
numdisByte-R---Numero dei display disponibili
Rappresenta il numero dei display disponibili. A seconda della piattaforma hardware(D221 piuttosto che D231 etc) sulla quale il device verrà utilizzato questo parametro assumerà valori diversi. Ad esempio su un D231 avrà valore 11.
dis0÷31Byte-RW---Carattere visualizzato
Rappresenta il contenuto attuale del carattere del display nella posizioni 0…31. dis0 è il display più a destra e dis31 è quello più a sinistra.
blinkcharLong0RW---Lampeggio carattere
E' una variabile a bit per abilitare il blink su un carattere. Ogni bit è un carattere. Il bit meno significativo è associato al display più a destra.
ScreenALong0RW---Valore per visualizzazione ricorsiva
E' un valore da visualizzare ricorsivamente se abilitato.
ScreenBLong0RW---Valore per visualizzazione ricorsiva
E' un valore da visualizzare ricorsivamente se abilitato.
ScreenCLong0RW---Valore per visualizzazione ricorsiva
E' un valore da visualizzare ricorsivamente se abilitato.
decptAByte0RW-0÷5-Punto decimale per visualizzazione ricorsiva
E' la posizione del punto decimale nella visualizzazione ricorsiva A.
decptBByte0RW-0÷5-Punto decimale per visualizzazione ricorsiva
E' la posizione del punto decimale nella visualizzazione ricorsiva B.
decptCByte0RW-0÷5-Punto decimale per visualizzazione ricorsiva
E' la posizione del punto decimale nella visualizzazione ricorsiva C.
ncharAByte0Read - Write-1÷7-Numero di caratteri per visualizzazione ricorsiva
E' il numero di caratteri di cui è composta la visualizzazione ricorsiva A.
ncharBByte0RW-1÷7-Numero di caratteri per visualizzazione ricorsiva
E' il numero di caratteri di cui è composta la visualizzazione ricorsiva B.
ncharCByte0RW-1÷7-Numero di caratteri per visualizzazione ricorsiva
E' il numero di caratteri di cui è composta la visualizzazione ricorsiva C.
offsAByte0RW-0÷numdis-1-Posizione per visualizzazione ricorsiva
E' la posizione rispetto al display di destra della visualizzazione ricorsiva A. Range valido: 0 ÷ numdis-1.
offsBByte0RW-0÷numdis-1-Posizione per visualizzazione ricorsiva
E' la posizione rispetto al display di destra della visualizzazione ricorsiva B. Range valido: 0 ÷ numdis-1.
offsCByte0RW-0÷numdis-1-Posizione per visualizzazione ricorsiva
E' la posizione rispetto al display di destra della visualizzazione ricorsiva C. Range valido: 0 ÷ numdis-1.
scflagsWord0RW---Configurazione per visualizzazioni ricorsive
È un valore a campi di bit per configurare le visualizzazioni ricorsive screenA, screenB e screenC.
BitValoreDescrizione
00Visualizzazione ricorsiva screenA disabilitata
1Visualizzazione ricorsiva screenA abilitata
10Visualizzazione ricorsiva screenB disabilitata
1Visualizzazione ricorsiva screenB abilitata
20Visualizzazione ricorsiva screenC disabilitata
1Visualizzazione ricorsiva screenC abilitata
30Segno visualizzazione ricorsiva screenA disabilitato
1Segno visualizzazione ricorsiva screenA disabilitato
40Segno visualizzazione ricorsiva screenB disabilitato
1Segno visualizzazione ricorsiva screenB disabilitato
50Segno visualizzazione ricorsiva screenC disabilitato
1Segno visualizzazione ricorsiva screenCS disabilitato
60Leading Zero Blank screenA disabilitato
1Leading Zero Blank screenA abilitato
70Leading Zero Blank screenB disabilitato
1Leading Zero Blank screenB abilitato
80Leading Zero Blank screenC disabilitato
1Leading Zero Blank screenC abilitato
devalueLong0RW---Valore dato in data entry
Valore del dato in data entry. Viene aggiornato con il valore introdotto al momento dell'uscita dal data entry stesso.
dencharByte0RW-1÷7-Numero caratteri introducibili in data entry
Imposta il numero dei caratteri introducibili per data entry.
deoffsByte0RW-0÷numdis-1-Posizione data entry sul display
Imposta la posizione sul display, rispetto alla cifra più a destra, del data entry.
dedecptByte0RW-0÷5-Numero cifre decimali per data entry
Indica il numero di cifre decimali per il data entry.
deuplimLong0RW---Valore massimo dato introdotto con data entry
È il valore massimo che può assumere il dato introdotto con data entry senza che si attivi il flag di segnalazione di superamento del limite superiore.
delowlimLong0RW---Valore minimo dato introdotto con data entry
È il valore minimo che può assumere il dato introdotto con data entry senza che si attivi il flag di segnalazione di superamento del limite inferiore.
deflagsWord0RW---Configurazione per data entry
È un valore a campi di bit per configurare il Data Entry.
BitValoreDescrizione
00Solo visualizzazione
1Introduzione dato
10Leading Zero Blank non attivo (valido solo per visualizzazione quindi con bit 0 = 0)
1Leading Zero Blank attivo (valido solo per visualizzazione quindi con bit 0 = 0)
20Introduzione/visualizzazione segno abilitata
1Introduzione/visualizzazione segno disabilitata
30Data Entry standard
1Data entri con tasti +/- come aumenta diminuisci
40Controllo limiti non abilitato
1Controllo limiti abilitato
deExKeymaskLong-RW---Configurazione tasti di uscita da data entry
Maschera di abilitazione dei tasti di uscita dal data entry. È una maschera di bit che abilita uno o più tasti ad uscire dal data entry. La corrispondenza del bit con il tasto è la medesima del parametro key. Indipendentemente dal valore impostato in questo parametro il tasto ENTER fa uscire dal data entry.
deExitKeyLong-R---Visualizzazione tasto di uscita da data entry
È un valore a campo di bit che indica il tasto che ha fatto uscire dal data entry. La corrispondenza del bit con il tasto è la medesima del parametro key. Se il valore è 0 significa che si è usciti dal data entry con i comandi EXITDE ed EXITDEC.
errcodeByte0RW-0÷100-Codice di identificazione errore
Quando il device HMI2 non riesce ad eseguire le operazioni derivanti da una non corretta programmazione da parte dell'utente segnala questa condizione tramite l'attivazione dello stato st_error. Il device HMI2, inoltre, rende disponibili, tramite i valori sulle variabili errcode ed ervalue, alcune informazioni per meglio comprendere il tipo di errore e quale condizione l'ha generato. Tali informazioni e lo stato di errore st_error, permangono finché non viene eseguito l'apposito comando RSERR che li cancella. La seguente tabella specifica i valori assunti dalla variabile errcode:
CodiceDescrizione
0Nessun errore
1Segnala un errore nella parametrizzazione della visualizzazione ricorsiva A.
2Segnala un errore nella parametrizzazione della visualizzazione ricorsiva B.
3Segnala un errore nella parametrizzazione della visualizzazione ricorsiva C.
4Segnala un errore nella parametrizzazione del data entry.
errvalueByte0RW-0÷100-Codice di identificazione della causa dell'errore
Per mezzo della variabile errvalue è possibile ottenere informazioni più dettagliate riguardo l'errore.
La seguente tabella specifica i valori assunti dalla variabile errvalue:
CodiceDescrizione
0Nessuna informazione riguardo l'errore
1Segnala che la visualizzazione esce dal display. Controllare l'offset della visualizzazione ed il numero di caratteri.
2Segnala che la posizione del punto decimale specificata è errata. Non è possibile ad esempio impostare la posizione del punto decimale uguale al numero caratteri.
3Segnala che il parametro uplim (limite superiore data entry) è inferiore a lowlim (limite inferiore data entry). L'errore non avviene se il controllo dei limiti è disabilitato.
4Segnala un valore non valido di dato del dataentry confermato con il comando EXITDEC.
5Segnala una collisione tra due visualizzazioni ricorsive o tra una visualizzazione ricorsiva ed il data entry. Per collisione si intende l'utilizzo di una zona del display da parte di più oggetti (visualizzazioni ricorsive o data entry).
6Segnala che il segno non è valido. Avviene quando si imposta un numero caratteri pari a 1 ed il segno è abilitato. Aumentare il numero caratteri (minimo 2) oppure disabilitare il segno.
wrncodeByte0RW-0÷100-Codice di identificazione warning
Quando i parametri del device HMI2 vengono programmati con valori fuori range essi non vengono accettati e mantengono il loro valore precedente. Il device segnala questa condizione tramite l'attivazione dello stato st_warning. Il device HMI2, inoltre, rende disponibili, tramite i valori sulle variabili wrncode ed wrnvalue, alcune informazioni per meglio comprendere il tipo di warning e quale condizione l'ha generato. Tali informazioni e lo stato di errore st_warning, permangono finché non viene eseguito l'apposito comando RSWRN che li cancella.
La seguente tabella specifica i valori assunti dalla variabile wrncode:
CodiceDescrizione
0Nessun warning
1Segnala un warning nella parametrizzazione della visualizzazione ricorsiva A.
2Segnala un warning nella parametrizzazione della visualizzazione ricorsiva B.
3Segnala un warning nella parametrizzazione della visualizzazione ricorsiva C.
4Segnala un warning nella parametrizzazione del data entry.
5Segnala un warning dovuto alla richiesta di esecuzione dei comandi EXITDE o EXITDEC senza che il data entry sia attivo (stato st_dentry=0)
6Segnala un warning dovuto alla richiesta di esecuzione del comando DATAENTRY con il data entry già attivo (stato st_dentry=1).
wrnvalueByte0RW-0÷100-Codice di identificazione della causa del warning
Per mezzo della variabile wrnvalue è possibile ottenere informazioni più dettagliate riguardo l'errore.
La seguente tabella specifica i valori assunti dalla variabile wrnvalue:
CodiceDescrizione
0Nessuna informazione riguardo l'errore
1Segnala che la posizione del punto decimale specificata è fuori range.
2Segnala che il numero di caratteri specificato è fuori range.
3Segnala che l'offset specificato è fuori range (superiore al numero dei display presenti)
4Segnala una collisione tra due visualizzazioni ricorsive o tra una visualizzazione ricorsiva ed il data entry. Per collisione si intende l'utilizzo di una zona del display da parte di più oggetti (visualizzazioni ricorsive o data entry).

0.5 Tabella stati

NomeValore di defaultDescrizione
st_modified0Data entry modificato
Segnala che il dato in data entry è stato modificato.
st_dentry0Stato data entry
Segnala che il device è in data entry.
st_uplim0Stato di superamento limite superiore
Segnala che il dato introdotto è superiore al valore impostato nel parametro deuplim. Azzerato dal comando DATAENTRY ed aggiornato all'uscita dal data entry con conferma del dato.
st_lowlim0Stato di superamento limite inferiore
Segnala che il dato introdotto è inferiore al valore impostato nel parametro delowlim. Azzerato dal comando DATAENTRY ed aggiornato all'uscita dal data entry con conferma del dato.
st_exitcmd0Stato di uscita con comando EXITDE
Segnala l'uscita dal data entry con comando EXITDE. Azzerato dal comando DATAENTRY ed aggiornato all'uscita dal data entry.
st_error0Presenza di un errore
Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili errcode ed errvalue:
0: errore non presente,
1: errore presente
st_warning0Presenza di un warning
Indica lo stato di warning del device, per riconoscere il tipo di warning si deve far riferimento alle variabili wrncode e wrnalue:
0: warning non presente,
1: warning presente

0.6 Tabella comandi

NomeCondizioneDescrizione
DATAENTRYst_dentry=0Entra nella procedura data entry
Permette di entrare nella procedura di data entry.
EXITDEst_dentry=1Esce dalla procedura data entry
Permette di uscira dalla procedura di data entry.
EXITDECst_dentry=1Esce dalla procedura data entry dopo conferma
Permette di uscire dalla procedura di data entry con conferma del dato in introduzione (come se avessimo premuto il tasto ENTER).
RSERRst_error=1Reset dello stato di errore
Azzera lo stato st_error.
RSWRNst_warning=1Reset dello stato di warning
Azzera lo stato st_warning.